package comum;

import java.io.Serializable;
import java.util.HashMap;
import java.util.LinkedHashSet;
import java.util.Set;

public class Mesa implements Serializable{
    /**
     * 
     */
    private static final long serialVersionUID = 7441006549560868701L;
    String jogadorDaVez; //Deveria ser uma String com nick, apenas. Jogador d� visibilidade
    					  //para mao de Cartas de cada jogador
    protected HashMap<String,Integer> numeroDeCartas;
    protected Set<CartaComum> ultimoDescarte;

    public Mesa() {
        this.numeroDeCartas = new HashMap<String, Integer>();
        this.ultimoDescarte = new LinkedHashSet<CartaComum>();
    }

    public void atualizarMesa(Set<CartaComum> selecao){
        //TODO No diagram de classe nenhum arg passado. 
        this.ultimoDescarte = selecao;
        
        this.numeroDeCartas.put(getJogadorDaVez(),this.numeroDeCartas.get(getJogadorDaVez())-selecao.size());
    }
    
    public String getJogadorDaVez() {
        return jogadorDaVez;
    }

    public void setJogadorDaVez(String jogadorDaVez) {
        this.jogadorDaVez = jogadorDaVez;
    }

    public HashMap<String, Integer> getNumeroDeCartas() {
        return numeroDeCartas;
    }

    public void setNumeroDeCartas(HashMap<String, Integer> numeroDeCartas) {
        this.numeroDeCartas = numeroDeCartas;
    }

    public Set<CartaComum> getUltimoDescarte() {
        return ultimoDescarte;
    }

    public void setUltimoDescarte(Set<CartaComum> ultimoDescarte) {
        this.ultimoDescarte = ultimoDescarte;
    }
    
    public void setNumeroDeCartasDoJogador(String nome, Integer num) {
    	numeroDeCartas.put(nome, num);
    }

	public void resetarMesa() {
		numeroDeCartas = new HashMap<String, Integer>();
        ultimoDescarte = new LinkedHashSet<CartaComum>();
		
	}
    
}
